import axios from "axios"

const instance = axios.create({
    baseURL: "http://kumanxuan1.f3322.net:8001",
    timeout: 5000
})

// 请求拦截器
instance.interceptors.request.use(config => {
    // 什么时候执行这里的代码?? 发送请求之前执行这里的代码
    // console.log(111);
    // console.log("config为:", config);
    // 在这个函数中,可以去做一些请求发出去之前的准备工作,例如把token添加到请求头
    let token = localStorage.getItem("token");
    if (token) {
        // 把token设置到请求头中
        config.headers["X-Nideshop-Token"] = token
    }
    // 需要返回config才能成功发出请求
    return config;
}, err => {
    return Promise.reject(err)
})

// 响应拦截器
instance.interceptors.response.use(res => {
    // 什么时候执行这里的代码?? 接收响应之后,then方法执行之前

    // 统一管理错误提示
    // 判断res.errno是不是不为0,如果不为0,console.log(res.errmsg);
    let data = res.data
    if (data.errno !== 0) {
        console.log("响应拦截器中:", data.errmsg || "网络出错");
    }
    // console.log(222);
    // console.log("响应拦截器的res", res);
    return data
}, err => {
    return Promise.reject(err)
})

export default instance